//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(+0.0 ^ '');
write(+0.0 ^ 0xa);
write(+0.0 ^ 04);
write(+0.0 ^ 'hello');
write(+0.0 ^ 'hel' + 'lo');
write(+0.0 ^ String(''));
write(+0.0 ^ String('hello'));
write(+0.0 ^ String('h' + 'ello'));
write(+0.0 ^ new String(''));
write(+0.0 ^ new String('hello'));
write(+0.0 ^ new String('he' + 'llo'));
write(+0.0 ^ new Object());
write(+0.0 ^ new Object());
write(+0.0 ^ [1, 2, 3]);
write(+0.0 ^ [1 ,2 , 3]);
write(+0.0 ^ new Array(3));
write(+0.0 ^ Array(3));
write(+0.0 ^ new Array(1 ,2 ,3));
write(+0.0 ^ Array(1));
write(+0.0 ^ foo);
write(1 ^ undefined);
write(1 ^ null);
write(1 ^ true);
write(1 ^ false);
write(1 ^ Boolean(true));
write(1 ^ Boolean(false));
write(1 ^ new Boolean(true));
write(1 ^ new Boolean(false));
write(1 ^ NaN);
write(1 ^ +0);
write(1 ^ -0);
write(1 ^ 0);
write(1 ^ 0.0);
write(1 ^ -0.0);
write(1 ^ +0.0);
write(1 ^ 1);
write(1 ^ 10);
write(1 ^ 10.0);
write(1 ^ 10.1);
write(1 ^ -1);
write(1 ^ -10);
write(1 ^ -10.0);
write(1 ^ -10.1);
write(1 ^ Number.MAX_VALUE);
write(1 ^ Number.MIN_VALUE);
write(1 ^ Number.NaN);
write(1 ^ Number.POSITIVE_INFINITY);
write(1 ^ Number.NEGATIVE_INFINITY);
write(1 ^ new Number(NaN));
write(1 ^ new Number(+0));
write(1 ^ new Number(-0));
write(1 ^ new Number(0));
write(1 ^ new Number(0.0));
write(1 ^ new Number(-0.0));
write(1 ^ new Number(+0.0));
write(1 ^ new Number(1));
write(1 ^ new Number(10));
write(1 ^ new Number(10.0));
write(1 ^ new Number(10.1));
write(1 ^ new Number(-1));
write(1 ^ new Number(-10));
write(1 ^ new Number(-10.0));
write(1 ^ new Number(-10.1));
write(1 ^ new Number(Number.MAX_VALUE));
write(1 ^ new Number(Number.MIN_VALUE));
write(1 ^ new Number(Number.NaN));
write(1 ^ new Number(Number.POSITIVE_INFINITY));
write(1 ^ new Number(Number.NEGATIVE_INFINITY));
write(1 ^ '');
write(1 ^ 0xa);
write(1 ^ 04);
write(1 ^ 'hello');
write(1 ^ 'hel' + 'lo');
write(1 ^ String(''));
write(1 ^ String('hello'));
write(1 ^ String('h' + 'ello'));
write(1 ^ new String(''));
write(1 ^ new String('hello'));
write(1 ^ new String('he' + 'llo'));
write(1 ^ new Object());
write(1 ^ new Object());
write(1 ^ [1, 2, 3]);
write(1 ^ [1 ,2 , 3]);
write(1 ^ new Array(3));
write(1 ^ Array(3));
write(1 ^ new Array(1 ,2 ,3));
write(1 ^ Array(1));
write(1 ^ foo);
write(10 ^ undefined);
write(10 ^ null);
write(10 ^ true);
write(10 ^ false);
write(10 ^ Boolean(true));
write(10 ^ Boolean(false));
write(10 ^ new Boolean(true));
write(10 ^ new Boolean(false));
write(10 ^ NaN);
write(10 ^ +0);
write(10 ^ -0);
write(10 ^ 0);
write(10 ^ 0.0);
write(10 ^ -0.0);
write(10 ^ +0.0);
write(10 ^ 1);
write(10 ^ 10);
write(10 ^ 10.0);
write(10 ^ 10.1);
write(10 ^ -1);
write(10 ^ -10);
write(10 ^ -10.0);
write(10 ^ -10.1);
write(10 ^ Number.MAX_VALUE);
write(10 ^ Number.MIN_VALUE);
write(10 ^ Number.NaN);
write(10 ^ Number.POSITIVE_INFINITY);
write(10 ^ Number.NEGATIVE_INFINITY);
write(10 ^ new Number(NaN));
write(10 ^ new Number(+0));
write(10 ^ new Number(-0));
write(10 ^ new Number(0));
write(10 ^ new Number(0.0));
write(10 ^ new Number(-0.0));
write(10 ^ new Number(+0.0));
write(10 ^ new Number(1));
write(10 ^ new Number(10));
write(10 ^ new Number(10.0));
write(10 ^ new Number(10.1));
write(10 ^ new Number(-1));
write(10 ^ new Number(-10));
write(10 ^ new Number(-10.0));
write(10 ^ new Number(-10.1));
write(10 ^ new Number(Number.MAX_VALUE));
write(10 ^ new Number(Number.MIN_VALUE));
write(10 ^ new Number(Number.NaN));
write(10 ^ new Number(Number.POSITIVE_INFINITY));
write(10 ^ new Number(Number.NEGATIVE_INFINITY));
write(10 ^ '');
write(10 ^ 0xa);
write(10 ^ 04);
write(10 ^ 'hello');
write(10 ^ 'hel' + 'lo');
write(10 ^ String(''));
write(10 ^ String('hello'));
write(10 ^ String('h' + 'ello'));
write(10 ^ new String(''));
write(10 ^ new String('hello'));
write(10 ^ new String('he' + 'llo'));
write(10 ^ new Object());
write(10 ^ new Object());
write(10 ^ [1, 2, 3]);
write(10 ^ [1 ,2 , 3]);
write(10 ^ new Array(3));
write(10 ^ Array(3));
write(10 ^ new Array(1 ,2 ,3));
write(10 ^ Array(1));
write(10 ^ foo);
write(10.0 ^ undefined);
write(10.0 ^ null);
write(10.0 ^ true);
write(10.0 ^ false);
write(10.0 ^ Boolean(true));
write(10.0 ^ Boolean(false));
write(10.0 ^ new Boolean(true));
write(10.0 ^ new Boolean(false));
write(10.0 ^ NaN);
write(10.0 ^ +0);
write(10.0 ^ -0);
write(10.0 ^ 0);
write(10.0 ^ 0.0);
write(10.0 ^ -0.0);
write(10.0 ^ +0.0);
write(10.0 ^ 1);
write(10.0 ^ 10);
write(10.0 ^ 10.0);
write(10.0 ^ 10.1);
write(10.0 ^ -1);
write(10.0 ^ -10);
write(10.0 ^ -10.0);
write(10.0 ^ -10.1);
write(10.0 ^ Number.MAX_VALUE);
write(10.0 ^ Number.MIN_VALUE);
write(10.0 ^ Number.NaN);
write(10.0 ^ Number.POSITIVE_INFINITY);
write(10.0 ^ Number.NEGATIVE_INFINITY);
write(10.0 ^ new Number(NaN));
write(10.0 ^ new Number(+0));
write(10.0 ^ new Number(-0));
write(10.0 ^ new Number(0));
write(10.0 ^ new Number(0.0));
write(10.0 ^ new Number(-0.0));
write(10.0 ^ new Number(+0.0));
write(10.0 ^ new Number(1));
write(10.0 ^ new Number(10));
write(10.0 ^ new Number(10.0));
write(10.0 ^ new Number(10.1));
write(10.0 ^ new Number(-1));
write(10.0 ^ new Number(-10));
write(10.0 ^ new Number(-10.0));
write(10.0 ^ new Number(-10.1));
write(10.0 ^ new Number(Number.MAX_VALUE));
write(10.0 ^ new Number(Number.MIN_VALUE));
write(10.0 ^ new Number(Number.NaN));
write(10.0 ^ new Number(Number.POSITIVE_INFINITY));
write(10.0 ^ new Number(Number.NEGATIVE_INFINITY));
write(10.0 ^ '');
write(10.0 ^ 0xa);
write(10.0 ^ 04);
write(10.0 ^ 'hello');
write(10.0 ^ 'hel' + 'lo');
write(10.0 ^ String(''));
write(10.0 ^ String('hello'));
write(10.0 ^ String('h' + 'ello'));
write(10.0 ^ new String(''));
write(10.0 ^ new String('hello'));
write(10.0 ^ new String('he' + 'llo'));
write(10.0 ^ new Object());
write(10.0 ^ new Object());
write(10.0 ^ [1, 2, 3]);
write(10.0 ^ [1 ,2 , 3]);
write(10.0 ^ new Array(3));
write(10.0 ^ Array(3));
write(10.0 ^ new Array(1 ,2 ,3));
write(10.0 ^ Array(1));
write(10.0 ^ foo);
write(10.1 ^ undefined);
write(10.1 ^ null);
write(10.1 ^ true);
write(10.1 ^ false);
write(10.1 ^ Boolean(true));
write(10.1 ^ Boolean(false));
write(10.1 ^ new Boolean(true));
write(10.1 ^ new Boolean(false));
write(10.1 ^ NaN);
write(10.1 ^ +0);
write(10.1 ^ -0);
write(10.1 ^ 0);
write(10.1 ^ 0.0);
write(10.1 ^ -0.0);
write(10.1 ^ +0.0);
write(10.1 ^ 1);
write(10.1 ^ 10);
write(10.1 ^ 10.0);
write(10.1 ^ 10.1);
write(10.1 ^ -1);
write(10.1 ^ -10);
write(10.1 ^ -10.0);
write(10.1 ^ -10.1);
write(10.1 ^ Number.MAX_VALUE);
write(10.1 ^ Number.MIN_VALUE);
write(10.1 ^ Number.NaN);
write(10.1 ^ Number.POSITIVE_INFINITY);
write(10.1 ^ Number.NEGATIVE_INFINITY);
write(10.1 ^ new Number(NaN));
write(10.1 ^ new Number(+0));
write(10.1 ^ new Number(-0));
write(10.1 ^ new Number(0));
write(10.1 ^ new Number(0.0));
write(10.1 ^ new Number(-0.0));
write(10.1 ^ new Number(+0.0));
write(10.1 ^ new Number(1));
write(10.1 ^ new Number(10));
write(10.1 ^ new Number(10.0));
write(10.1 ^ new Number(10.1));
write(10.1 ^ new Number(-1));
write(10.1 ^ new Number(-10));
write(10.1 ^ new Number(-10.0));
write(10.1 ^ new Number(-10.1));
write(10.1 ^ new Number(Number.MAX_VALUE));
write(10.1 ^ new Number(Number.MIN_VALUE));
write(10.1 ^ new Number(Number.NaN));
write(10.1 ^ new Number(Number.POSITIVE_INFINITY));
write(10.1 ^ new Number(Number.NEGATIVE_INFINITY));
write(10.1 ^ '');
write(10.1 ^ 0xa);
write(10.1 ^ 04);
write(10.1 ^ 'hello');
write(10.1 ^ 'hel' + 'lo');
write(10.1 ^ String(''));
write(10.1 ^ String('hello'));
write(10.1 ^ String('h' + 'ello'));
write(10.1 ^ new String(''));
write(10.1 ^ new String('hello'));
write(10.1 ^ new String('he' + 'llo'));
write(10.1 ^ new Object());
write(10.1 ^ new Object());
write(10.1 ^ [1, 2, 3]);
write(10.1 ^ [1 ,2 , 3]);
write(10.1 ^ new Array(3));
write(10.1 ^ Array(3));
write(10.1 ^ new Array(1 ,2 ,3));
write(10.1 ^ Array(1));
write(10.1 ^ foo);
write(-1 ^ undefined);
write(-1 ^ null);
write(-1 ^ true);
write(-1 ^ false);
write(-1 ^ Boolean(true));
write(-1 ^ Boolean(false));
write(-1 ^ new Boolean(true));
write(-1 ^ new Boolean(false));
write(-1 ^ NaN);
write(-1 ^ +0);
write(-1 ^ -0);
write(-1 ^ 0);
write(-1 ^ 0.0);
write(-1 ^ -0.0);
write(-1 ^ +0.0);
write(-1 ^ 1);
write(-1 ^ 10);
write(-1 ^ 10.0);
write(-1 ^ 10.1);
write(-1 ^ -1);
write(-1 ^ -10);
write(-1 ^ -10.0);
write(-1 ^ -10.1);
write(-1 ^ Number.MAX_VALUE);
write(-1 ^ Number.MIN_VALUE);
write(-1 ^ Number.NaN);
write(-1 ^ Number.POSITIVE_INFINITY);
write(-1 ^ Number.NEGATIVE_INFINITY);
write(-1 ^ new Number(NaN));
write(-1 ^ new Number(+0));
write(-1 ^ new Number(-0));
write(-1 ^ new Number(0));
write(-1 ^ new Number(0.0));
write(-1 ^ new Number(-0.0));
write(-1 ^ new Number(+0.0));
write(-1 ^ new Number(1));
write(-1 ^ new Number(10));
write(-1 ^ new Number(10.0));
write(-1 ^ new Number(10.1));
write(-1 ^ new Number(-1));
write(-1 ^ new Number(-10));
write(-1 ^ new Number(-10.0));
write(-1 ^ new Number(-10.1));
write(-1 ^ new Number(Number.MAX_VALUE));
write(-1 ^ new Number(Number.MIN_VALUE));
write(-1 ^ new Number(Number.NaN));
write(-1 ^ new Number(Number.POSITIVE_INFINITY));
write(-1 ^ new Number(Number.NEGATIVE_INFINITY));
write(-1 ^ '');
write(-1 ^ 0xa);
write(-1 ^ 04);
write(-1 ^ 'hello');
write(-1 ^ 'hel' + 'lo');
write(-1 ^ String(''));
write(-1 ^ String('hello'));
write(-1 ^ String('h' + 'ello'));
write(-1 ^ new String(''));
write(-1 ^ new String('hello'));
write(-1 ^ new String('he' + 'llo'));
write(-1 ^ new Object());
write(-1 ^ new Object());
write(-1 ^ [1, 2, 3]);
write(-1 ^ [1 ,2 , 3]);
write(-1 ^ new Array(3));
write(-1 ^ Array(3));
write(-1 ^ new Array(1 ,2 ,3));
write(-1 ^ Array(1));
write(-1 ^ foo);
write(-10 ^ undefined);
write(-10 ^ null);
write(-10 ^ true);
write(-10 ^ false);
write(-10 ^ Boolean(true));
write(-10 ^ Boolean(false));
write(-10 ^ new Boolean(true));
write(-10 ^ new Boolean(false));
write(-10 ^ NaN);
write(-10 ^ +0);
write(-10 ^ -0);
write(-10 ^ 0);
write(-10 ^ 0.0);
write(-10 ^ -0.0);
write(-10 ^ +0.0);
write(-10 ^ 1);
write(-10 ^ 10);
write(-10 ^ 10.0);
write(-10 ^ 10.1);
write(-10 ^ -1);
write(-10 ^ -10);
write(-10 ^ -10.0);
write(-10 ^ -10.1);
write(-10 ^ Number.MAX_VALUE);
write(-10 ^ Number.MIN_VALUE);
write(-10 ^ Number.NaN);
write(-10 ^ Number.POSITIVE_INFINITY);
write(-10 ^ Number.NEGATIVE_INFINITY);
write(-10 ^ new Number(NaN));
write(-10 ^ new Number(+0));
write(-10 ^ new Number(-0));
write(-10 ^ new Number(0));
write(-10 ^ new Number(0.0));
write(-10 ^ new Number(-0.0));
write(-10 ^ new Number(+0.0));
write(-10 ^ new Number(1));
write(-10 ^ new Number(10));
write(-10 ^ new Number(10.0));
write(-10 ^ new Number(10.1));
write(-10 ^ new Number(-1));
write(-10 ^ new Number(-10));
write(-10 ^ new Number(-10.0));
write(-10 ^ new Number(-10.1));
write(-10 ^ new Number(Number.MAX_VALUE));
write(-10 ^ new Number(Number.MIN_VALUE));
write(-10 ^ new Number(Number.NaN));
write(-10 ^ new Number(Number.POSITIVE_INFINITY));
write(-10 ^ new Number(Number.NEGATIVE_INFINITY));
write(-10 ^ '');
write(-10 ^ 0xa);
write(-10 ^ 04);
write(-10 ^ 'hello');
write(-10 ^ 'hel' + 'lo');
write(-10 ^ String(''));
write(-10 ^ String('hello'));
write(-10 ^ String('h' + 'ello'));
write(-10 ^ new String(''));
write(-10 ^ new String('hello'));
write(-10 ^ new String('he' + 'llo'));
write(-10 ^ new Object());
write(-10 ^ new Object());
write(-10 ^ [1, 2, 3]);
write(-10 ^ [1 ,2 , 3]);
write(-10 ^ new Array(3));
write(-10 ^ Array(3));
write(-10 ^ new Array(1 ,2 ,3));
write(-10 ^ Array(1));
write(-10 ^ foo);
write(-10.0 ^ undefined);
write(-10.0 ^ null);
write(-10.0 ^ true);
write(-10.0 ^ false);
write(-10.0 ^ Boolean(true));
write(-10.0 ^ Boolean(false));
write(-10.0 ^ new Boolean(true));
write(-10.0 ^ new Boolean(false));
write(-10.0 ^ NaN);
write(-10.0 ^ +0);
write(-10.0 ^ -0);
write(-10.0 ^ 0);
write(-10.0 ^ 0.0);
write(-10.0 ^ -0.0);
write(-10.0 ^ +0.0);
write(-10.0 ^ 1);
write(-10.0 ^ 10);
write(-10.0 ^ 10.0);
write(-10.0 ^ 10.1);
write(-10.0 ^ -1);
write(-10.0 ^ -10);
write(-10.0 ^ -10.0);
write(-10.0 ^ -10.1);
write(-10.0 ^ Number.MAX_VALUE);
write(-10.0 ^ Number.MIN_VALUE);
write(-10.0 ^ Number.NaN);
write(-10.0 ^ Number.POSITIVE_INFINITY);
write(-10.0 ^ Number.NEGATIVE_INFINITY);
write(-10.0 ^ new Number(NaN));
write(-10.0 ^ new Number(+0));
write(-10.0 ^ new Number(-0));
write(-10.0 ^ new Number(0));
write(-10.0 ^ new Number(0.0));
write(-10.0 ^ new Number(-0.0));
write(-10.0 ^ new Number(+0.0));
write(-10.0 ^ new Number(1));
write(-10.0 ^ new Number(10));
write(-10.0 ^ new Number(10.0));
write(-10.0 ^ new Number(10.1));
write(-10.0 ^ new Number(-1));
write(-10.0 ^ new Number(-10));
write(-10.0 ^ new Number(-10.0));
write(-10.0 ^ new Number(-10.1));
write(-10.0 ^ new Number(Number.MAX_VALUE));
write(-10.0 ^ new Number(Number.MIN_VALUE));
write(-10.0 ^ new Number(Number.NaN));
write(-10.0 ^ new Number(Number.POSITIVE_INFINITY));
write(-10.0 ^ new Number(Number.NEGATIVE_INFINITY));
write(-10.0 ^ '');
write(-10.0 ^ 0xa);
write(-10.0 ^ 04);
write(-10.0 ^ 'hello');
write(-10.0 ^ 'hel' + 'lo');
write(-10.0 ^ String(''));
write(-10.0 ^ String('hello'));
write(-10.0 ^ String('h' + 'ello'));
write(-10.0 ^ new String(''));
write(-10.0 ^ new String('hello'));
write(-10.0 ^ new String('he' + 'llo'));
write(-10.0 ^ new Object());
write(-10.0 ^ new Object());
write(-10.0 ^ [1, 2, 3]);
write(-10.0 ^ [1 ,2 , 3]);
write(-10.0 ^ new Array(3));
write(-10.0 ^ Array(3));
write(-10.0 ^ new Array(1 ,2 ,3));
write(-10.0 ^ Array(1));
write(-10.0 ^ foo);
write(-10.1 ^ undefined);
write(-10.1 ^ null);
write(-10.1 ^ true);
write(-10.1 ^ false);
write(-10.1 ^ Boolean(true));
write(-10.1 ^ Boolean(false));
write(-10.1 ^ new Boolean(true));
write(-10.1 ^ new Boolean(false));
write(-10.1 ^ NaN);
write(-10.1 ^ +0);
write(-10.1 ^ -0);
write(-10.1 ^ 0);
write(-10.1 ^ 0.0);
write(-10.1 ^ -0.0);
write(-10.1 ^ +0.0);
write(-10.1 ^ 1);
write(-10.1 ^ 10);
write(-10.1 ^ 10.0);
write(-10.1 ^ 10.1);
write(-10.1 ^ -1);
write(-10.1 ^ -10);
write(-10.1 ^ -10.0);
write(-10.1 ^ -10.1);
write(-10.1 ^ Number.MAX_VALUE);
write(-10.1 ^ Number.MIN_VALUE);
write(-10.1 ^ Number.NaN);
write(-10.1 ^ Number.POSITIVE_INFINITY);
write(-10.1 ^ Number.NEGATIVE_INFINITY);
write(-10.1 ^ new Number(NaN));
write(-10.1 ^ new Number(+0));
write(-10.1 ^ new Number(-0));
write(-10.1 ^ new Number(0));
write(-10.1 ^ new Number(0.0));
write(-10.1 ^ new Number(-0.0));
write(-10.1 ^ new Number(+0.0));
write(-10.1 ^ new Number(1));
write(-10.1 ^ new Number(10));
write(-10.1 ^ new Number(10.0));
write(-10.1 ^ new Number(10.1));
write(-10.1 ^ new Number(-1));
write(-10.1 ^ new Number(-10));
write(-10.1 ^ new Number(-10.0));
write(-10.1 ^ new Number(-10.1));
write(-10.1 ^ new Number(Number.MAX_VALUE));
write(-10.1 ^ new Number(Number.MIN_VALUE));
write(-10.1 ^ new Number(Number.NaN));
write(-10.1 ^ new Number(Number.POSITIVE_INFINITY));
write(-10.1 ^ new Number(Number.NEGATIVE_INFINITY));
write(-10.1 ^ '');
write(-10.1 ^ 0xa);
write(-10.1 ^ 04);
write(-10.1 ^ 'hello');
write(-10.1 ^ 'hel' + 'lo');
write(-10.1 ^ String(''));
write(-10.1 ^ String('hello'));
write(-10.1 ^ String('h' + 'ello'));
write(-10.1 ^ new String(''));
write(-10.1 ^ new String('hello'));
write(-10.1 ^ new String('he' + 'llo'));
write(-10.1 ^ new Object());
write(-10.1 ^ new Object());
write(-10.1 ^ [1, 2, 3]);
write(-10.1 ^ [1 ,2 , 3]);
write(-10.1 ^ new Array(3));
write(-10.1 ^ Array(3));
write(-10.1 ^ new Array(1 ,2 ,3));
write(-10.1 ^ Array(1));
write(-10.1 ^ foo);
write(Number.MAX_VALUE ^ undefined);
write(Number.MAX_VALUE ^ null);
write(Number.MAX_VALUE ^ true);
write(Number.MAX_VALUE ^ false);
write(Number.MAX_VALUE ^ Boolean(true));
write(Number.MAX_VALUE ^ Boolean(false));
write(Number.MAX_VALUE ^ new Boolean(true));
write(Number.MAX_VALUE ^ new Boolean(false));
write(Number.MAX_VALUE ^ NaN);
write(Number.MAX_VALUE ^ +0);
write(Number.MAX_VALUE ^ -0);
write(Number.MAX_VALUE ^ 0);
write(Number.MAX_VALUE ^ 0.0);
write(Number.MAX_VALUE ^ -0.0);
write(Number.MAX_VALUE ^ +0.0);
write(Number.MAX_VALUE ^ 1);
write(Number.MAX_VALUE ^ 10);
write(Number.MAX_VALUE ^ 10.0);
write(Number.MAX_VALUE ^ 10.1);
write(Number.MAX_VALUE ^ -1);
write(Number.MAX_VALUE ^ -10);
write(Number.MAX_VALUE ^ -10.0);
write(Number.MAX_VALUE ^ -10.1);
write(Number.MAX_VALUE ^ Number.MAX_VALUE);
write(Number.MAX_VALUE ^ Number.MIN_VALUE);
write(Number.MAX_VALUE ^ Number.NaN);
write(Number.MAX_VALUE ^ Number.POSITIVE_INFINITY);
write(Number.MAX_VALUE ^ Number.NEGATIVE_INFINITY);
write(Number.MAX_VALUE ^ new Number(NaN));
write(Number.MAX_VALUE ^ new Number(+0));
write(Number.MAX_VALUE ^ new Number(-0));
write(Number.MAX_VALUE ^ new Number(0));
write(Number.MAX_VALUE ^ new Number(0.0));
write(Number.MAX_VALUE ^ new Number(-0.0));
write(Number.MAX_VALUE ^ new Number(+0.0));
write(Number.MAX_VALUE ^ new Number(1));
write(Number.MAX_VALUE ^ new Number(10));
write(Number.MAX_VALUE ^ new Number(10.0));
write(Number.MAX_VALUE ^ new Number(10.1));
write(Number.MAX_VALUE ^ new Number(-1));
write(Number.MAX_VALUE ^ new Number(-10));
write(Number.MAX_VALUE ^ new Number(-10.0));
write(Number.MAX_VALUE ^ new Number(-10.1));
write(Number.MAX_VALUE ^ new Number(Number.MAX_VALUE));
write(Number.MAX_VALUE ^ new Number(Number.MIN_VALUE));
write(Number.MAX_VALUE ^ new Number(Number.NaN));
write(Number.MAX_VALUE ^ new Number(Number.POSITIVE_INFINITY));
write(Number.MAX_VALUE ^ new Number(Number.NEGATIVE_INFINITY));
write(Number.MAX_VALUE ^ '');
write(Number.MAX_VALUE ^ 0xa);
write(Number.MAX_VALUE ^ 04);
write(Number.MAX_VALUE ^ 'hello');
write(Number.MAX_VALUE ^ 'hel' + 'lo');
write(Number.MAX_VALUE ^ String(''));
write(Number.MAX_VALUE ^ String('hello'));
write(Number.MAX_VALUE ^ String('h' + 'ello'));
write(Number.MAX_VALUE ^ new String(''));
write(Number.MAX_VALUE ^ new String('hello'));
write(Number.MAX_VALUE ^ new String('he' + 'llo'));
write(Number.MAX_VALUE ^ new Object());
write(Number.MAX_VALUE ^ new Object());
write(Number.MAX_VALUE ^ [1, 2, 3]);
write(Number.MAX_VALUE ^ [1 ,2 , 3]);
write(Number.MAX_VALUE ^ new Array(3));
write(Number.MAX_VALUE ^ Array(3));
write(Number.MAX_VALUE ^ new Array(1 ,2 ,3));
write(Number.MAX_VALUE ^ Array(1));
write(Number.MAX_VALUE ^ foo);
write(Number.MIN_VALUE ^ undefined);
write(Number.MIN_VALUE ^ null);
write(Number.MIN_VALUE ^ true);
write(Number.MIN_VALUE ^ false);
write(Number.MIN_VALUE ^ Boolean(true));
write(Number.MIN_VALUE ^ Boolean(false));
write(Number.MIN_VALUE ^ new Boolean(true));
write(Number.MIN_VALUE ^ new Boolean(false));
write(Number.MIN_VALUE ^ NaN);
write(Number.MIN_VALUE ^ +0);
write(Number.MIN_VALUE ^ -0);
write(Number.MIN_VALUE ^ 0);
write(Number.MIN_VALUE ^ 0.0);
write(Number.MIN_VALUE ^ -0.0);
write(Number.MIN_VALUE ^ +0.0);
write(Number.MIN_VALUE ^ 1);
write(Number.MIN_VALUE ^ 10);
write(Number.MIN_VALUE ^ 10.0);
write(Number.MIN_VALUE ^ 10.1);
write(Number.MIN_VALUE ^ -1);
write(Number.MIN_VALUE ^ -10);
write(Number.MIN_VALUE ^ -10.0);
write(Number.MIN_VALUE ^ -10.1);
write(Number.MIN_VALUE ^ Number.MAX_VALUE);
write(Number.MIN_VALUE ^ Number.MIN_VALUE);
write(Number.MIN_VALUE ^ Number.NaN);
write(Number.MIN_VALUE ^ Number.POSITIVE_INFINITY);
write(Number.MIN_VALUE ^ Number.NEGATIVE_INFINITY);
write(Number.MIN_VALUE ^ new Number(NaN));
write(Number.MIN_VALUE ^ new Number(+0));
write(Number.MIN_VALUE ^ new Number(-0));
write(Number.MIN_VALUE ^ new Number(0));
write(Number.MIN_VALUE ^ new Number(0.0));
write(Number.MIN_VALUE ^ new Number(-0.0));
write(Number.MIN_VALUE ^ new Number(+0.0));
write(Number.MIN_VALUE ^ new Number(1));
write(Number.MIN_VALUE ^ new Number(10));
write(Number.MIN_VALUE ^ new Number(10.0));
write(Number.MIN_VALUE ^ new Number(10.1));
write(Number.MIN_VALUE ^ new Number(-1));
write(Number.MIN_VALUE ^ new Number(-10));
write(Number.MIN_VALUE ^ new Number(-10.0));
write(Number.MIN_VALUE ^ new Number(-10.1));
write(Number.MIN_VALUE ^ new Number(Number.MAX_VALUE));
write(Number.MIN_VALUE ^ new Number(Number.MIN_VALUE));
write(Number.MIN_VALUE ^ new Number(Number.NaN));
write(Number.MIN_VALUE ^ new Number(Number.POSITIVE_INFINITY));
write(Number.MIN_VALUE ^ new Number(Number.NEGATIVE_INFINITY));
write(Number.MIN_VALUE ^ '');
write(Number.MIN_VALUE ^ 0xa);
write(Number.MIN_VALUE ^ 04);
write(Number.MIN_VALUE ^ 'hello');
write(Number.MIN_VALUE ^ 'hel' + 'lo');
write(Number.MIN_VALUE ^ String(''));
write(Number.MIN_VALUE ^ String('hello'));
write(Number.MIN_VALUE ^ String('h' + 'ello'));
write(Number.MIN_VALUE ^ new String(''));
write(Number.MIN_VALUE ^ new String('hello'));
write(Number.MIN_VALUE ^ new String('he' + 'llo'));
write(Number.MIN_VALUE ^ new Object());
write(Number.MIN_VALUE ^ new Object());
write(Number.MIN_VALUE ^ [1, 2, 3]);
write(Number.MIN_VALUE ^ [1 ,2 , 3]);
write(Number.MIN_VALUE ^ new Array(3));
write(Number.MIN_VALUE ^ Array(3));
write(Number.MIN_VALUE ^ new Array(1 ,2 ,3));
write(Number.MIN_VALUE ^ Array(1));
write(Number.MIN_VALUE ^ foo);
write(Number.NaN ^ undefined);
write(Number.NaN ^ null);
write(Number.NaN ^ true);
write(Number.NaN ^ false);
write(Number.NaN ^ Boolean(true));
write(Number.NaN ^ Boolean(false));
write(Number.NaN ^ new Boolean(true));
write(Number.NaN ^ new Boolean(false));
write(Number.NaN ^ NaN);
write(Number.NaN ^ +0);
write(Number.NaN ^ -0);
write(Number.NaN ^ 0);
write(Number.NaN ^ 0.0);
write(Number.NaN ^ -0.0);
write(Number.NaN ^ +0.0);
write(Number.NaN ^ 1);
write(Number.NaN ^ 10);
write(Number.NaN ^ 10.0);
write(Number.NaN ^ 10.1);
write(Number.NaN ^ -1);
write(Number.NaN ^ -10);
write(Number.NaN ^ -10.0);
write(Number.NaN ^ -10.1);
write(Number.NaN ^ Number.MAX_VALUE);
write(Number.NaN ^ Number.MIN_VALUE);
write(Number.NaN ^ Number.NaN);
write(Number.NaN ^ Number.POSITIVE_INFINITY);
write(Number.NaN ^ Number.NEGATIVE_INFINITY);
write(Number.NaN ^ new Number(NaN));
write(Number.NaN ^ new Number(+0));
write(Number.NaN ^ new Number(-0));
write(Number.NaN ^ new Number(0));
write(Number.NaN ^ new Number(0.0));
write(Number.NaN ^ new Number(-0.0));
write(Number.NaN ^ new Number(+0.0));
write(Number.NaN ^ new Number(1));
write(Number.NaN ^ new Number(10));
write(Number.NaN ^ new Number(10.0));
write(Number.NaN ^ new Number(10.1));
write(Number.NaN ^ new Number(-1));
write(Number.NaN ^ new Number(-10));
write(Number.NaN ^ new Number(-10.0));
write(Number.NaN ^ new Number(-10.1));
write(Number.NaN ^ new Number(Number.MAX_VALUE));
write(Number.NaN ^ new Number(Number.MIN_VALUE));
write(Number.NaN ^ new Number(Number.NaN));
write(Number.NaN ^ new Number(Number.POSITIVE_INFINITY));
write(Number.NaN ^ new Number(Number.NEGATIVE_INFINITY));
write(Number.NaN ^ '');
write(Number.NaN ^ 0xa);
write(Number.NaN ^ 04);
write(Number.NaN ^ 'hello');
write(Number.NaN ^ 'hel' + 'lo');
write(Number.NaN ^ String(''));
write(Number.NaN ^ String('hello'));
write(Number.NaN ^ String('h' + 'ello'));
write(Number.NaN ^ new String(''));
write(Number.NaN ^ new String('hello'));
write(Number.NaN ^ new String('he' + 'llo'));
write(Number.NaN ^ new Object());
write(Number.NaN ^ new Object());
write(Number.NaN ^ [1, 2, 3]);
write(Number.NaN ^ [1 ,2 , 3]);
write(Number.NaN ^ new Array(3));
write(Number.NaN ^ Array(3));
write(Number.NaN ^ new Array(1 ,2 ,3));
write(Number.NaN ^ Array(1));
write(Number.NaN ^ foo);
write(Number.POSITIVE_INFINITY ^ undefined);
write(Number.POSITIVE_INFINITY ^ null);
write(Number.POSITIVE_INFINITY ^ true);
write(Number.POSITIVE_INFINITY ^ false);
write(Number.POSITIVE_INFINITY ^ Boolean(true));
write(Number.POSITIVE_INFINITY ^ Boolean(false));
write(Number.POSITIVE_INFINITY ^ new Boolean(true));
write(Number.POSITIVE_INFINITY ^ new Boolean(false));
write(Number.POSITIVE_INFINITY ^ NaN);
write(Number.POSITIVE_INFINITY ^ +0);
write(Number.POSITIVE_INFINITY ^ -0);
write(Number.POSITIVE_INFINITY ^ 0);
write(Number.POSITIVE_INFINITY ^ 0.0);
write(Number.POSITIVE_INFINITY ^ -0.0);
write(Number.POSITIVE_INFINITY ^ +0.0);
write(Number.POSITIVE_INFINITY ^ 1);
write(Number.POSITIVE_INFINITY ^ 10);
write(Number.POSITIVE_INFINITY ^ 10.0);
write(Number.POSITIVE_INFINITY ^ 10.1);
write(Number.POSITIVE_INFINITY ^ -1);
write(Number.POSITIVE_INFINITY ^ -10);
write(Number.POSITIVE_INFINITY ^ -10.0);
write(Number.POSITIVE_INFINITY ^ -10.1);
write(Number.POSITIVE_INFINITY ^ Number.MAX_VALUE);
write(Number.POSITIVE_INFINITY ^ Number.MIN_VALUE);
write(Number.POSITIVE_INFINITY ^ Number.NaN);
write(Number.POSITIVE_INFINITY ^ Number.POSITIVE_INFINITY);
write(Number.POSITIVE_INFINITY ^ Number.NEGATIVE_INFINITY);
write(Number.POSITIVE_INFINITY ^ new Number(NaN));
write(Number.POSITIVE_INFINITY ^ new Number(+0));
write(Number.POSITIVE_INFINITY ^ new Number(-0));
write(Number.POSITIVE_INFINITY ^ new Number(0));
write(Number.POSITIVE_INFINITY ^ new Number(0.0));
write(Number.POSITIVE_INFINITY ^ new Number(-0.0));
write(Number.POSITIVE_INFINITY ^ new Number(+0.0));
write(Number.POSITIVE_INFINITY ^ new Number(1));
write(Number.POSITIVE_INFINITY ^ new Number(10));
write(Number.POSITIVE_INFINITY ^ new Number(10.0));
write(Number.POSITIVE_INFINITY ^ new Number(10.1));
write(Number.POSITIVE_INFINITY ^ new Number(-1));
write(Number.POSITIVE_INFINITY ^ new Number(-10));
write(Number.POSITIVE_INFINITY ^ new Number(-10.0));
write(Number.POSITIVE_INFINITY ^ new Number(-10.1));
write(Number.POSITIVE_INFINITY ^ new Number(Number.MAX_VALUE));
write(Number.POSITIVE_INFINITY ^ new Number(Number.MIN_VALUE));
write(Number.POSITIVE_INFINITY ^ new Number(Number.NaN));
write(Number.POSITIVE_INFINITY ^ new Number(Number.POSITIVE_INFINITY));
write(Number.POSITIVE_INFINITY ^ new Number(Number.NEGATIVE_INFINITY));
write(Number.POSITIVE_INFINITY ^ '');
write(Number.POSITIVE_INFINITY ^ 0xa);
write(Number.POSITIVE_INFINITY ^ 04);
write(Number.POSITIVE_INFINITY ^ 'hello');
write(Number.POSITIVE_INFINITY ^ 'hel' + 'lo');
write(Number.POSITIVE_INFINITY ^ String(''));
write(Number.POSITIVE_INFINITY ^ String('hello'));
write(Number.POSITIVE_INFINITY ^ String('h' + 'ello'));
write(Number.POSITIVE_INFINITY ^ new String(''));
write(Number.POSITIVE_INFINITY ^ new String('hello'));
write(Number.POSITIVE_INFINITY ^ new String('he' + 'llo'));
write(Number.POSITIVE_INFINITY ^ new Object());
write(Number.POSITIVE_INFINITY ^ new Object());
write(Number.POSITIVE_INFINITY ^ [1, 2, 3]);
write(Number.POSITIVE_INFINITY ^ [1 ,2 , 3]);
write(Number.POSITIVE_INFINITY ^ new Array(3));
write(Number.POSITIVE_INFINITY ^ Array(3));
write(Number.POSITIVE_INFINITY ^ new Array(1 ,2 ,3));
write(Number.POSITIVE_INFINITY ^ Array(1));
write(Number.POSITIVE_INFINITY ^ foo);
write(Number.NEGATIVE_INFINITY ^ undefined);
write(Number.NEGATIVE_INFINITY ^ null);
write(Number.NEGATIVE_INFINITY ^ true);
write(Number.NEGATIVE_INFINITY ^ false);
write(Number.NEGATIVE_INFINITY ^ Boolean(true));
write(Number.NEGATIVE_INFINITY ^ Boolean(false));
write(Number.NEGATIVE_INFINITY ^ new Boolean(true));
write(Number.NEGATIVE_INFINITY ^ new Boolean(false));
write(Number.NEGATIVE_INFINITY ^ NaN);
write(Number.NEGATIVE_INFINITY ^ +0);
write(Number.NEGATIVE_INFINITY ^ -0);
write(Number.NEGATIVE_INFINITY ^ 0);
write(Number.NEGATIVE_INFINITY ^ 0.0);
write(Number.NEGATIVE_INFINITY ^ -0.0);
write(Number.NEGATIVE_INFINITY ^ +0.0);
write(Number.NEGATIVE_INFINITY ^ 1);
write(Number.NEGATIVE_INFINITY ^ 10);
write(Number.NEGATIVE_INFINITY ^ 10.0);
write(Number.NEGATIVE_INFINITY ^ 10.1);
write(Number.NEGATIVE_INFINITY ^ -1);
write(Number.NEGATIVE_INFINITY ^ -10);
write(Number.NEGATIVE_INFINITY ^ -10.0);
write(Number.NEGATIVE_INFINITY ^ -10.1);
write(Number.NEGATIVE_INFINITY ^ Number.MAX_VALUE);
write(Number.NEGATIVE_INFINITY ^ Number.MIN_VALUE);
write(Number.NEGATIVE_INFINITY ^ Number.NaN);
write(Number.NEGATIVE_INFINITY ^ Number.POSITIVE_INFINITY);
write(Number.NEGATIVE_INFINITY ^ Number.NEGATIVE_INFINITY);
write(Number.NEGATIVE_INFINITY ^ new Number(NaN));
write(Number.NEGATIVE_INFINITY ^ new Number(+0));
write(Number.NEGATIVE_INFINITY ^ new Number(-0));
write(Number.NEGATIVE_INFINITY ^ new Number(0));
write(Number.NEGATIVE_INFINITY ^ new Number(0.0));
write(Number.NEGATIVE_INFINITY ^ new Number(-0.0));
write(Number.NEGATIVE_INFINITY ^ new Number(+0.0));
write(Number.NEGATIVE_INFINITY ^ new Number(1));
write(Number.NEGATIVE_INFINITY ^ new Number(10));
write(Number.NEGATIVE_INFINITY ^ new Number(10.0));
write(Number.NEGATIVE_INFINITY ^ new Number(10.1));
write(Number.NEGATIVE_INFINITY ^ new Number(-1));
write(Number.NEGATIVE_INFINITY ^ new Number(-10));
write(Number.NEGATIVE_INFINITY ^ new Number(-10.0));
write(Number.NEGATIVE_INFINITY ^ new Number(-10.1));
write(Number.NEGATIVE_INFINITY ^ new Number(Number.MAX_VALUE));
write(Number.NEGATIVE_INFINITY ^ new Number(Number.MIN_VALUE));
write(Number.NEGATIVE_INFINITY ^ new Number(Number.NaN));
write(Number.NEGATIVE_INFINITY ^ new Number(Number.POSITIVE_INFINITY));
write(Number.NEGATIVE_INFINITY ^ new Number(Number.NEGATIVE_INFINITY));
write(Number.NEGATIVE_INFINITY ^ '');
write(Number.NEGATIVE_INFINITY ^ 0xa);
write(Number.NEGATIVE_INFINITY ^ 04);
write(Number.NEGATIVE_INFINITY ^ 'hello');
write(Number.NEGATIVE_INFINITY ^ 'hel' + 'lo');
write(Number.NEGATIVE_INFINITY ^ String(''));
write(Number.NEGATIVE_INFINITY ^ String('hello'));
write(Number.NEGATIVE_INFINITY ^ String('h' + 'ello'));
write(Number.NEGATIVE_INFINITY ^ new String(''));
write(Number.NEGATIVE_INFINITY ^ new String('hello'));
write(Number.NEGATIVE_INFINITY ^ new String('he' + 'llo'));
write(Number.NEGATIVE_INFINITY ^ new Object());
write(Number.NEGATIVE_INFINITY ^ new Object());
write(Number.NEGATIVE_INFINITY ^ [1, 2, 3]);
write(Number.NEGATIVE_INFINITY ^ [1 ,2 , 3]);
write(Number.NEGATIVE_INFINITY ^ new Array(3));
write(Number.NEGATIVE_INFINITY ^ Array(3));
write(Number.NEGATIVE_INFINITY ^ new Array(1 ,2 ,3));
write(Number.NEGATIVE_INFINITY ^ Array(1));
write(Number.NEGATIVE_INFINITY ^ foo);
write(new Number(NaN) ^ undefined);
write(new Number(NaN) ^ null);
write(new Number(NaN) ^ true);
write(new Number(NaN) ^ false);
write(new Number(NaN) ^ Boolean(true));
write(new Number(NaN) ^ Boolean(false));
write(new Number(NaN) ^ new Boolean(true));
write(new Number(NaN) ^ new Boolean(false));
write(new Number(NaN) ^ NaN);
write(new Number(NaN) ^ +0);
write(new Number(NaN) ^ -0);
write(new Number(NaN) ^ 0);
write(new Number(NaN) ^ 0.0);
write(new Number(NaN) ^ -0.0);
write(new Number(NaN) ^ +0.0);
write(new Number(NaN) ^ 1);
write(new Number(NaN) ^ 10);
write(new Number(NaN) ^ 10.0);
write(new Number(NaN) ^ 10.1);
write(new Number(NaN) ^ -1);
write(new Number(NaN) ^ -10);
write(new Number(NaN) ^ -10.0);
write(new Number(NaN) ^ -10.1);
write(new Number(NaN) ^ Number.MAX_VALUE);
write(new Number(NaN) ^ Number.MIN_VALUE);
write(new Number(NaN) ^ Number.NaN);
write(new Number(NaN) ^ Number.POSITIVE_INFINITY);
write(new Number(NaN) ^ Number.NEGATIVE_INFINITY);
write(new Number(NaN) ^ new Number(NaN));
write(new Number(NaN) ^ new Number(+0));
write(new Number(NaN) ^ new Number(-0));
write(new Number(NaN) ^ new Number(0));
write(new Number(NaN) ^ new Number(0.0));
write(new Number(NaN) ^ new Number(-0.0));
write(new Number(NaN) ^ new Number(+0.0));
write(new Number(NaN) ^ new Number(1));
write(new Number(NaN) ^ new Number(10));
write(new Number(NaN) ^ new Number(10.0));
write(new Number(NaN) ^ new Number(10.1));
write(new Number(NaN) ^ new Number(-1));
write(new Number(NaN) ^ new Number(-10));
write(new Number(NaN) ^ new Number(-10.0));
write(new Number(NaN) ^ new Number(-10.1));
write(new Number(NaN) ^ new Number(Number.MAX_VALUE));
write(new Number(NaN) ^ new Number(Number.MIN_VALUE));
write(new Number(NaN) ^ new Number(Number.NaN));
write(new Number(NaN) ^ new Number(Number.POSITIVE_INFINITY));
write(new Number(NaN) ^ new Number(Number.NEGATIVE_INFINITY));
write(new Number(NaN) ^ '');
write(new Number(NaN) ^ 0xa);
write(new Number(NaN) ^ 04);
write(new Number(NaN) ^ 'hello');
write(new Number(NaN) ^ 'hel' + 'lo');
write(new Number(NaN) ^ String(''));
write(new Number(NaN) ^ String('hello'));
write(new Number(NaN) ^ String('h' + 'ello'));
write(new Number(NaN) ^ new String(''));
write(new Number(NaN) ^ new String('hello'));
write(new Number(NaN) ^ new String('he' + 'llo'));
write(new Number(NaN) ^ new Object());
write(new Number(NaN) ^ new Object());
write(new Number(NaN) ^ [1, 2, 3]);
write(new Number(NaN) ^ [1 ,2 , 3]);
write(new Number(NaN) ^ new Array(3));
write(new Number(NaN) ^ Array(3));
write(new Number(NaN) ^ new Array(1 ,2 ,3));
write(new Number(NaN) ^ Array(1));
write(new Number(NaN) ^ foo);
write(new Number(+0) ^ undefined);
write(new Number(+0) ^ null);
write(new Number(+0) ^ true);
write(new Number(+0) ^ false);
write(new Number(+0) ^ Boolean(true));
write(new Number(+0) ^ Boolean(false));
write(new Number(+0) ^ new Boolean(true));
write(new Number(+0) ^ new Boolean(false));
write(new Number(+0) ^ NaN);
write(new Number(+0) ^ +0);
write(new Number(+0) ^ -0);
write(new Number(+0) ^ 0);
write(new Number(+0) ^ 0.0);
write(new Number(+0) ^ -0.0);
write(new Number(+0) ^ +0.0);
write(new Number(+0) ^ 1);
write(new Number(+0) ^ 10);
write(new Number(+0) ^ 10.0);
write(new Number(+0) ^ 10.1);
write(new Number(+0) ^ -1);
write(new Number(+0) ^ -10);
write(new Number(+0) ^ -10.0);
write(new Number(+0) ^ -10.1);
write(new Number(+0) ^ Number.MAX_VALUE);
write(new Number(+0) ^ Number.MIN_VALUE);
write(new Number(+0) ^ Number.NaN);
write(new Number(+0) ^ Number.POSITIVE_INFINITY);
write(new Number(+0) ^ Number.NEGATIVE_INFINITY);
write(new Number(+0) ^ new Number(NaN));
